Conventionally, there is technology to reduce fluctuation of coordinate data outputted from a coordinate input device such as a touch panel. For example, there is conventional technology in which weighted averaging of last corrected coordinate data and latest coordinate data is performed to generate latest corrected coordinate data.
However, the technology to reduce fluctuation of coordinate data has a fundamental demerit that responsiveness to an operation of an operator decreases. Thus, when fluctuation of coordinate data does not occur, it is preferred not to use the technology to reduce fluctuation of coordinate data.
It is a feature of the technology disclosed herein to provide a computer-readable storage medium, a coordinate processing apparatus, a coordinate processing system, and a coordinate processing method which can appropriately process input coordinate data which is outputted from a coordinate input device and indicates a contact position of a finger or a pen with respect to an operation surface of the coordinate input device.
The feature described above is attained by, for example, the following configuration examples.
A first configuration example is a computer-readable storage medium having stored therein a coordinate processing program for processing input coordinate data which is outputted from a coordinate input device and indicates a contact position with respect to an operation surface of the coordinate input device. The coordinate processing program causes a computer to operate as: a determination section configured to determine an input element which is in contact with the operation surface from among a plurality of types of input elements having different contact areas with the operation surface; and a coordinate corrector configured to correct the input coordinate data in accordance with a result of the determination of the determination section.
The “coordinate input device” may be any device which is capable of detecting a contact position of an input element (a finger, a pen, etc.) with respect to an operation surface thereof, and is typically a touch panel. The “plurality of types of input elements having different contact areas on the operation surface” are, for example, a finger and a pen. The determination section is not limited to one which uniquely determines a type of input element which is in contact with the operation surface (e.g., whether it is a finger or a pen), and may be one which determines a degree of likelihood of a finger (or a degree of likelihood of a pen).
The coordinate processing program can be stored in any computer-readable storage medium (e.g., a flexible disc, a hard disk, an optical disc, a magneto-optical disc, a CD-ROM, a CD-R, a magnetic tape, a semiconductor memory card, a ROM, a RAM, etc.).
The coordinate corrector may include a shape corrector configured to correct the input coordinate data such that a shape of an input trajectory represented by the input coordinate data is smoothened. The shape corrector may correct the input coordinate data at a degree which changes in response to the result of the determination of the determination section, such that the shape of the input trajectory is smoothened.
Further, the shape corrector may correct the input coordinate data in accordance with the result of the determination of the determination section, such that responsiveness to variation of the contact position changes.
Further, the shape corrector may include a following coordinate calculator configured to calculate a following coordinate which follows a target coordinate, which is set on the basis of the input coordinate data, at a rate which changes in response to the result of the determination of the determination section. The coordinate corrector may correct the input coordinate data on the basis of the following coordinate.
Further, when it is determined by the determination section that a first input element having a relatively large contact area is in contact with the operation surface, the following coordinate calculator may calculate the following coordinate such that the following coordinate follows the target coordinate at a smaller rate than that when it is determined that a second input element having a relatively small contact area is in contact with the operation surface.
Further, the following coordinate may follow the target coordinate by being updated such that the following coordinate approaches the target coordinate by a predetermined rate of a distance from the following coordinate to the target coordinate.
Further, the target coordinate may be an allowance coordinate which, when being distant from an input coordinate indicated by the input coordinate data by more than a distance which changes in response to the result of the determination of the determination section, moves toward the input coordinate so as to be located at a position away from the input coordinate by the distance.
Further, the shape corrector may include an allowance coordinate calculator configured to calculate an allowance coordinate which, when being distant from an input coordinate indicated by the input coordinate data by more than a distance which changes in response to the result of the determination of the determination section, moves toward the input coordinate so as to be located at a position away from the input coordinate by the distance. The coordinate corrector may correct the input coordinate data on the basis of the allowance coordinate.
Further, when it is determined by the determination section that a first input element having a relatively large contact area is in contact with the operation surface, the allowance coordinate calculator may increase the distance as compared to that when it is determined that a second input element having a relatively small contact area is in contact with the operation surface, and may calculate the allowance coordinate.
Further, the coordinate corrector may include an interruption compensator configured to, when a period during which a contact position indicated by the input coordinate data is temporarily interrupted is within a predetermined time, determine that contact continues even during the period and correct the input coordinate data. The interruption compensator may change the predetermined time in response to the result of the determination of the determination section.
Further, when it is determined by the determination section that a first input element having a relatively large contact area is in contact with the operation surface, the interruption compensator may increase the predetermined time as compared to that when it is determined that a second input element having a relatively small contact area is in contact with the operation surface, and may correct the input coordinate data.
Further, the coordinate corrector may correct the input coordinate data in real time.
Further, the determination section may determine whether the input element which is in contact with the operation surface is a finger or a pen, on the basis of the input coordinate data outputted from the coordinate input device.
It is noted that the “pen” may be any operation means having at least a projection having a shape similar to the shape of a pointed end of a pen.
Further, the determination section may include a finger degree variable update section configured to update a value of a finger degree variable representing a degree of likelihood of a finger, on the basis of the input coordinate data outputted from the coordinate input device. The coordinate corrector may correct the input coordinate data in accordance with the value of the finger degree variable.
Further, the determination section may determine whether the input element which is in contact with the operation surface is a finger or a pen, on the basis of whether or not a shape of an input trajectory represented by the input coordinate data outputted from the coordinate input device is a predetermined shape.
Further, the determination section may determine whether the input element which is in contact with the operation surface is a finger or a pen, on the basis of whether or not a continuous contact time indicated by the input coordinate data outputted from the coordinate input device is less than a predetermined time.
Further, the determination section may determine whether the input element which is in contact with the operation surface is a finger or a pen, on the basis of whether or not a continuous non-contact time indicated by the input coordinate data outputted from the coordinate input device is less than a predetermined time.
A second configuration example is a coordinate processing apparatus for processing input coordinate data which is outputted from a coordinate input device and indicates a contact position with respect to an operation surface of the coordinate input device. The coordinate processing apparatus comprises: a determination section configured to determine an input element which is in contact with the operation surface from among a plurality of types of input elements having different contact areas with the operation surface; and a coordinate corrector configured to correct the input coordinate data in accordance with a result of the determination of the determination section.
A third configuration example is a coordinate processing system for processing input coordinate data which is outputted from a coordinate input device and indicates a contact position with respect to an operation surface of the coordinate input device. The coordinate processing system comprises: a determination section configured to determine an input element which is in contact with the operation surface from among a plurality of types of input elements having different contact areas with the operation surface; and a coordinate corrector configured to correct the input coordinate data in accordance with a result of the determination of the determination section.
A fourth configuration example is a coordinate processing method executed by a computer of a coordinate processing system for processing input coordinate data which is outputted from a coordinate input device and indicates a contact position with respect to an operation surface of the coordinate input device. The coordinate processing method comprises the steps of: determining an input element which is in contact with the operation surface from among a plurality of types of input elements having different contact areas with the operation surface; and correcting the input coordinate data in accordance with a result of the determination.
According to the technology, it is possible to appropriately process input coordinate data which is outputted from a coordinate input device and indicates a contact position of a finger or a pen with respect to an operation surface of the coordinate input device.
These and other objects, features, aspects and advantages of the technology will become more apparent from the following detailed description of non-limiting example embodiments when taken in conjunction with the accompanying drawings.